package com.ruoyi.system.domain;

import com.fasterxml.jackson.annotation.JsonFormat;
import com.ruoyi.common.annotation.Excel;
import com.ruoyi.common.core.domain.BaseEntity;
import lombok.Data;
import org.apache.commons.lang3.builder.ToStringBuilder;
import org.apache.commons.lang3.builder.ToStringStyle;

import java.util.Date;

/**
 * 激活码，可短信发出或线下发给对象 ztf_code_nc
 *
 * @author ruoyi
 * @date 2025-06-09
 */
@Data
public class ZtfAppCodeNc extends BaseEntity
{
    private static final long serialVersionUID = 1L;

    /** 激活ID */
    @Excel(name = "激活ID")
    private String codeUuid;

    /** 激活码 */
    @Excel(name = "激活码")
    private String codeName;

    /** 生成日期，DATETIME类型，记录激活码的生成时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "生成日期，DATETIME类型，记录激活码的生成时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date generateddate;

    /** 过期日期，DATETIME类型，记录激活码的过期时间 */
    @JsonFormat(pattern = "yyyy-MM-dd")
    @Excel(name = "过期日期，DATETIME类型，记录激活码的过期时间", width = 30, dateFormat = "yyyy-MM-dd")
    private Date expirydate;

    /** 0非激活1已激活3异常，状态， */
    @Excel(name = "0非激活1已激活3异常，状态，")
    private Long status;

    /** 用户关联id，查询相关表字段 */
    @Excel(name = "用户关联id，查询相关表字段")
    private String useridUuid;

    /** 激活手机 */
    @Excel(name = "激活手机")
    private String xphone;

    /** 科目课程id */
    @Excel(name = "科目课程id")
    private String mianId;

    /** 课程分类1,高中分类激活，2是高中激活，3单科激活 */
    @Excel(name = "课程分类1,高中分类激活，2是高中激活，3单科激活")
    private String classId;

    /**激活码添加类型*/
    private String type;

    public void setCodeUuid(String codeUuid)
    {
        this.codeUuid = codeUuid;
    }

    public String getCodeUuid()
    {
        return codeUuid;
    }

    public void setCodeName(String codeName)
    {
        this.codeName = codeName;
    }

    public String getCodeName()
    {
        return codeName;
    }

    public void setGenerateddate(Date generateddate)
    {
        this.generateddate = generateddate;
    }

    public Date getGenerateddate()
    {
        return generateddate;
    }

    public void setExpirydate(Date expirydate)
    {
        this.expirydate = expirydate;
    }

    public Date getExpirydate()
    {
        return expirydate;
    }

    public void setStatus(Long status)
    {
        this.status = status;
    }

    public Long getStatus()
    {
        return status;
    }

    public void setUseridUuid(String useridUuid)
    {
        this.useridUuid = useridUuid;
    }

    public String getUseridUuid()
    {
        return useridUuid;
    }

    public void setXphone(String xphone)
    {
        this.xphone = xphone;
    }

    public String getXphone()
    {
        return xphone;
    }

    public void setMianId(String mianId)
    {
        this.mianId = mianId;
    }

    public String getMianId()
    {
        return mianId;
    }

    public void setClassId(String classId)
    {
        this.classId = classId;
    }

    public String getClassId()
    {
        return classId;
    }

    @Override
    public String toString() {
        return new ToStringBuilder(this,ToStringStyle.MULTI_LINE_STYLE)
                .append("codeUuid", getCodeUuid())
                .append("codeName", getCodeName())
                .append("generateddate", getGenerateddate())
                .append("expirydate", getExpirydate())
                .append("status", getStatus())
                .append("useridUuid", getUseridUuid())
                .append("xphone", getXphone())
                .append("mianId", getMianId())
                .append("classId", getClassId())
                .toString();
    }
}
